package br.urca.session;

import java.io.Serializable;

import javax.enterprise.context.SessionScoped;

import br.urca.model.Aluno;
import br.urca.model.AlunoCurso;
import br.urca.model.Funcionario;
import br.urca.model.Usuario;

@SessionScoped
public class UsuarioLogado implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Usuario usuario;
	private Funcionario funcionario;
	private AlunoCurso alunoCurso;
	
	public void loga(Funcionario funcionario) {
		this.funcionario = funcionario;
	}
	
	public void loga(AlunoCurso alunoCurso) {
		this.alunoCurso = alunoCurso;
	}
	
	public void loga(Usuario usuario) {
		this.usuario = usuario;
	}
	
	public boolean isLogado() {
		return ((this.usuario != null) || (this.funcionario != null) || (this.alunoCurso != null));
	}
	
	public Usuario getUsuario() {
		return this.usuario;
	}
	
	public Funcionario getFuncionario() {
		return this.funcionario;
	}
	
	public AlunoCurso getAlunoCurso() {
		return this.alunoCurso;
	}
	
	public void logout() {
		this.usuario = null;
		this.alunoCurso = null;
		this.funcionario = null;
	}

}
